package mapper;

import model.dto.SysUserDto;
import model.req.SysUserReq;
import model.pojo.SysUsers;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @className: mapper.SysUsersMapper
 * @author: Xia
 * @create: 2023-03-09 16:10
 */
public interface SysUsersMapper {
    /**
     * 根据用户名查询用户信息
     * @param account
     * @return
     */
    SysUserDto getSysUser(String account);

    /**
     * 更新用户信息
     * @param user
     * @return
     */
    Integer updateSysUser(SysUsers user);

    /**
     * 根据就诊科室ID查询就诊医师列表
     * @param param
     * @return
     */
    List<SysUserDto> getDoctorList(@Param("departmentId") Integer departmentId ,@Param("userName") String userName);
    /**
     * 查询用户数量
     * @param
     * @return
     */
    Integer getUsersCount();
    /**
     * 查询用户列表
     * @param
     * @return
     */

    List<SysUserDto> getUsersList(@Param("userType") Integer userType,@Param("account") String account,@Param("userName") String userName,
                                  @Param("start") Integer start,@Param("pageSize") Integer pageSize);
    /**
     * 添加用户
     * @param sysUserReq
     * @return
     */
    Integer addUser(SysUserReq sysUserReq);
    /**
     * 根据用户ID查询用户信息
     * @param id
     * @return
     */
    SysUserDto getUserById(Long id);
}
